home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / prog_bas / vbwarn.zip / FRMPER.FRM < prev    next >
Text File  |  1995-12-11  |  27KB  |  867 lines

  1. VERSION 2.00
  2. Begin Form FrmPer 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "Persons"
  6.    ClientHeight    =   2775
  7.    ClientLeft      =   330
  8.    ClientTop       =   3150
  9.    ClientWidth     =   8955
  10.    Height          =   3465
  11.    Left            =   270
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   2775
  16.    ScaleWidth      =   8955
  17.    Top             =   2520
  18.    Width           =   9075
  19.    Begin SSFrame Frame3D1 
  20.       ForeColor       =   &H00000000&
  21.       Height          =   915
  22.       Left            =   120
  23.       ShadowColor     =   1  'Black
  24.       TabIndex        =   46
  25.       Top             =   1800
  26.       Width           =   8715
  27.       Begin ComboBox cmbSortBy 
  28.          BackColor       =   &H00C0C0C0&
  29.          Height          =   300
  30.          Left            =   780
  31.          TabIndex        =   22
  32.          Top             =   180
  33.          Width           =   2955
  34.       End
  35.       Begin CommandButton cmdJumpTo 
  36.          Caption         =   "Jump To:"
  37.          Height          =   315
  38.          Left            =   4020
  39.          TabIndex        =   24
  40.          Top             =   180
  41.          Width           =   975
  42.       End
  43.       Begin TextBox txtJumpTo 
  44.          BackColor       =   &H00C0C0C0&
  45.          Height          =   285
  46.          Left            =   5100
  47.          TabIndex        =   23
  48.          Top             =   180
  49.          Width           =   3435
  50.       End
  51.       Begin CommandButton cmdCancel 
  52.          BackColor       =   &H00004080&
  53.          Caption         =   "&Cancel"
  54.          Height          =   315
  55.          Left            =   7620
  56.          TabIndex        =   19
  57.          Top             =   540
  58.          Width           =   915
  59.       End
  60.       Begin CommandButton cmdNew 
  61.          BackColor       =   &H00C0C0C0&
  62.          Caption         =   "&New"
  63.          Height          =   315
  64.          Left            =   4020
  65.          TabIndex        =   20
  66.          Top             =   540
  67.          Width           =   915
  68.       End
  69.       Begin CommandButton cmdSave 
  70.          BackColor       =   &H00C0C0C0&
  71.          Caption         =   "&Save"
  72.          Height          =   315
  73.          Left            =   6420
  74.          TabIndex        =   18
  75.          Top             =   540
  76.          Width           =   915
  77.       End
  78.       Begin CommandButton cmdDelete 
  79.          BackColor       =   &H00C0C0C0&
  80.          Caption         =   "&Delete"
  81.          Height          =   315
  82.          Left            =   5220
  83.          TabIndex        =   21
  84.          Top             =   540
  85.          Width           =   915
  86.       End
  87.       Begin Data dtaPerson 
  88.          BackColor       =   &H00C0C0C0&
  89.          Caption         =   "Officers"
  90.          Connect         =   ""
  91.          DatabaseName    =   "vbwarn.mdb"
  92.          Exclusive       =   0   'False
  93.          Height          =   315
  94.          Left            =   60
  95.          Options         =   0
  96.          ReadOnly        =   0   'False
  97.          RecordSource    =   "Person"
  98.          Top             =   540
  99.          Width           =   3675
  100.       End
  101.       Begin Label lblSortBy 
  102.          BackColor       =   &H00C0C0C0&
  103.          Caption         =   "Sort By:"
  104.          Height          =   195
  105.          Left            =   60
  106.          TabIndex        =   44
  107.          Top             =   240
  108.          Width           =   855
  109.       End
  110.    End
  111.    Begin CommandButton cmdReturn 
  112.       Caption         =   "Return to Warning"
  113.       Height          =   315
  114.       Left            =   6960
  115.       TabIndex        =   25
  116.       Top             =   1440
  117.       Width           =   1815
  118.    End
  119.    Begin TextBox txtSexP 
  120.       BackColor       =   &H00C0C0C0&
  121.       DataField       =   "Sex"
  122.       DataSource      =   "dtaPerson"
  123.       Height          =   285
  124.       Left            =   8580
  125.       TabIndex        =   11
  126.       Top             =   780
  127.       Width           =   255
  128.    End
  129.    Begin TextBox txtDOBP 
  130.       BackColor       =   &H00C0C0C0&
  131.       DataField       =   "DOB"
  132.       DataSource      =   "dtaPerson"
  133.       Height          =   315
  134.       Left            =   7200
  135.       TabIndex        =   10
  136.       Text            =   " "
  137.       Top             =   780
  138.       Width           =   915
  139.    End
  140.    Begin TextBox txtEyesP 
  141.       BackColor       =   &H00C0C0C0&
  142.       DataField       =   "Eyes"
  143.       DataSource      =   "dtaPerson"
  144.       Height          =   315
  145.       Left            =   7200
  146.       TabIndex        =   17
  147.       Top             =   1080
  148.       Width           =   735
  149.    End
  150.    Begin TextBox txtZipP 
  151.       BackColor       =   &H00C0C0C0&
  152.       DataField       =   "Zip"
  153.       DataSource      =   "dtaPerson"
  154.       Height          =   315
  155.       Left            =   7200
  156.       TabIndex        =   6
  157.       Top             =   480
  158.       Width           =   1095
  159.    End
  160.    Begin TextBox txtInchesP 
  161.       BackColor       =   &H00C0C0C0&
  162.       DataField       =   "Inches"
  163.       DataSource      =   "dtaPerson"
  164.       Height          =   315
  165.       Left            =   1560
  166.       TabIndex        =   13
  167.       Top             =   1080
  168.       Width           =   315
  169.    End
  170.    Begin TextBox txtFeetP 
  171.       BackColor       =   &H00C0C0C0&
  172.       DataField       =   "Feet"
  173.       DataSource      =   "dtaPerson"
  174.       Height          =   315
  175.       Left            =   960
  176.       TabIndex        =   12
  177.       Top             =   1080
  178.       Width           =   315
  179.    End
  180.    Begin TextBox txtDLP 
  181.       BackColor       =   &H00C0C0C0&
  182.       DataField       =   "DL"
  183.       DataSource      =   "dtaPerson"
  184.       Height          =   315
  185.       Left            =   960
  186.       TabIndex        =   7
  187.       Top             =   780
  188.       Width           =   1815
  189.    End
  190.    Begin TextBox txtAddressP 
  191.       BackColor       =   &H00C0C0C0&
  192.       DataField       =   "Address"
  193.       DataSource      =   "dtaPerson"
  194.       Height          =   315
  195.       Left            =   960
  196.       TabIndex        =   3
  197.       Top             =   480
  198.       Width           =   2235
  199.    End
  200.    Begin TextBox txtHairP 
  201.       BackColor       =   &H00C0C0C0&
  202.       DataField       =   "Hair"
  203.       DataSource      =   "dtaPerson"
  204.       Height          =   315
  205.       Left            =   5760
  206.       TabIndex        =   15
  207.       Top             =   1080
  208.       Width           =   795
  209.    End
  210.    Begin TextBox txtDLTypeP 
  211.       BackColor       =   &H00C0C0C0&
  212.       DataField       =   "DLType"
  213.       DataSource      =   "dtaPerson"
  214.       Height          =   315
  215.       Left            =   5760
  216.       TabIndex        =   9
  217.       Top             =   780
  218.       Width           =   795
  219.    End
  220.    Begin TextBox txtStateP 
  221.       BackColor       =   &H00C0C0C0&
  222.       DataField       =   "State"
  223.       DataSource      =   "dtaPerson"
  224.       Height          =   315
  225.       Left            =   5760
  226.       TabIndex        =   5
  227.       Top             =   480
  228.       Width           =   495
  229.    End
  230.    Begin TextBox txtWeightP 
  231.       BackColor       =   &H00C0C0C0&
  232.       DataField       =   "Weight"
  233.       DataSource      =   "dtaPerson"
  234.       Height          =   315
  235.       Left            =   3720
  236.       TabIndex        =   14
  237.       Top             =   1080
  238.       Width           =   615
  239.    End
  240.    Begin TextBox txtDLStP 
  241.       BackColor       =   &H00C0C0C0&
  242.       DataField       =   "DLSt"
  243.       DataSource      =   "dtaPerson"
  244.       Height          =   315
  245.       Left            =   3720
  246.       TabIndex        =   8
  247.       Top             =   780
  248.       Width           =   495
  249.    End
  250.    Begin TextBox txtCityP 
  251.       BackColor       =   &H00C0C0C0&
  252.       DataField       =   "City"
  253.       DataSource      =   "dtaPerson"
  254.       Height          =   315
  255.       Left            =   3720
  256.       TabIndex        =   4
  257.       Top             =   480
  258.       Width           =   1455
  259.    End
  260.    Begin TextBox txtInitialP 
  261.       BackColor       =   &H00C0C0C0&
  262.       DataField       =   "Initial"
  263.       DataSource      =   "dtaPerson"
  264.       Height          =   315
  265.       Left            =   7200
  266.       TabIndex        =   2
  267.       Top             =   180
  268.       Width           =   615
  269.    End
  270.    Begin TextBox txtLNameP 
  271.       BackColor       =   &H00C0C0C0&
  272.       DataField       =   "LName"
  273.       DataSource      =   "dtaPerson"
  274.       Height          =   315
  275.       Left            =   3720
  276.       TabIndex        =   0
  277.       Top             =   180
  278.       Width           =   1455
  279.    End
  280.    Begin TextBox txtFNameP 
  281.       BackColor       =   &H00C0C0C0&
  282.       DataField       =   "FName"
  283.       DataSource      =   "dtaPerson"
  284.       Height          =   315
  285.       Left            =   5760
  286.       TabIndex        =   1
  287.       Top             =   180
  288.       Width           =   1035
  289.    End
  290.    Begin Label Label1 
  291.       BackColor       =   &H00C0C0C0&
  292.       Caption         =   "Persons"
  293.       FontBold        =   -1  'True
  294.       FontItalic      =   0   'False
  295.       FontName        =   "MS Sans Serif"
  296.       FontSize        =   13.5
  297.       FontStrikethru  =   0   'False
  298.       FontUnderline   =   0   'False
  299.       Height          =   315
  300.       Left            =   120
  301.       TabIndex        =   47
  302.       Top             =   60
  303.       Width           =   1275
  304.    End
  305.    Begin Label lblID 
  306.       BackColor       =   &H00E0FFFF&
  307.       BorderStyle     =   1  'Fixed Single
  308.       DataField       =   "ID"
  309.       DataSource      =   "dtaPerson"
  310.       Height          =   315
  311.       Left            =   2460
  312.       TabIndex        =   45
  313.       Top             =   180
  314.       Width           =   735
  315.    End
  316.    Begin Label Label30 
  317.       BackColor       =   &H00C0C0C0&
  318.       Caption         =   "Eyes:"
  319.       Height          =   255
  320.       Left            =   6660
  321.       TabIndex        =   16
  322.       Top             =   1080
  323.       Width           =   555
  324.    End
  325.    Begin Label Label29 
  326.       BackColor       =   &H00C0C0C0&
  327.       Caption         =   "Hair:"
  328.       Height          =   255
  329.       Left            =   5280
  330.       TabIndex        =   26
  331.       Top             =   1080
  332.       Width           =   495
  333.    End
  334.    Begin Label Label28 
  335.       BackColor       =   &H00C0C0C0&
  336.       Caption         =   "Weight:"
  337.       Height          =   255
  338.       Left            =   3060
  339.       TabIndex        =   27
  340.       Top             =   1080
  341.       Width           =   735
  342.    End
  343.    Begin Label Label27 
  344.       BackColor       =   &H00C0C0C0&
  345.       Caption         =   "''"
  346.       Height          =   315
  347.       Left            =   1920
  348.       TabIndex        =   28
  349.       Top             =   1080
  350.       Width           =   195
  351.    End
  352.    Begin Label Label26 
  353.       BackColor       =   &H00C0C0C0&
  354.       Caption         =   "'"
  355.       Height          =   255
  356.       Left            =   1440
  357.       TabIndex        =   29
  358.       Top             =   1080
  359.       Width           =   135
  360.    End
  361.    Begin Label Label25 
  362.       BackColor       =   &H00C0C0C0&
  363.       Caption         =   "Height:"
  364.       Height          =   255
  365.       Left            =   300
  366.       TabIndex        =   30
  367.       Top             =   1080
  368.       Width           =   615
  369.    End
  370.    Begin Label Label24 
  371.       BackColor       =   &H00C0C0C0&
  372.       Caption         =   "Sex:"
  373.       Height          =   255
  374.       Left            =   8160
  375.       TabIndex        =   31
  376.       Top             =   780
  377.       Width           =   435
  378.    End
  379.    Begin Label Label23 
  380.       BackColor       =   &H00C0C0C0&
  381.       Caption         =   "DOB:"
  382.       Height          =   255
  383.       Left            =   6720
  384.       TabIndex        =   32
  385.       Top             =   780
  386.       Width           =   495
  387.    End
  388.    Begin Label Label22 
  389.       BackColor       =   &H00C0C0C0&
  390.       Caption         =   "Type:"
  391.       Height          =   255
  392.       Left            =   5220
  393.       TabIndex        =   33
  394.       Top             =   780
  395.       Width           =   555
  396.    End
  397.    Begin Label Label21 
  398.       BackColor       =   &H00C0C0C0&
  399.       Caption         =   "State:"
  400.       Height          =   255
  401.       Left            =   3180
  402.       TabIndex        =   34
  403.       Top             =   780
  404.       Width           =   555
  405.    End
  406.    Begin Label Label20 
  407.       BackColor       =   &H00C0C0C0&
  408.       Caption         =   "DL#:"
  409.       Height          =   255
  410.       Left            =   480
  411.       TabIndex        =   35
  412.       Top             =   780
  413.       Width           =   495
  414.    End
  415.    Begin Label Label19 
  416.       BackColor       =   &H00C0C0C0&
  417.       Caption         =   "Zip:"
  418.       Height          =   255
  419.       Left            =   6840
  420.       TabIndex        =   36
  421.       Top             =   480
  422.       Width           =   435
  423.    End
  424.    Begin Label Label18 
  425.       BackColor       =   &H00C0C0C0&
  426.       Caption         =   "State:"
  427.       Height          =   255
  428.       Left            =   5220
  429.       TabIndex        =   37
  430.       Top             =   480
  431.       Width           =   555
  432.    End
  433.    Begin Label Label17 
  434.       BackColor       =   &H00C0C0C0&
  435.       Caption         =   "City:"
  436.       Height          =   255
  437.       Left            =   3300
  438.       TabIndex        =   38
  439.       Top             =   480
  440.       Width           =   495
  441.    End
  442.    Begin Label Label16 
  443.       BackColor       =   &H00C0C0C0&
  444.       Caption         =   "Address:"
  445.       Height          =   255
  446.       Left            =   180
  447.       TabIndex        =   39
  448.       Top             =   480
  449.       Width           =   795
  450.    End
  451.    Begin Label Label15 
  452.       BackColor       =   &H00C0C0C0&
  453.       Caption         =   "Init:"
  454.       Height          =   255
  455.       Left            =   6840
  456.       TabIndex        =   40
  457.       Top             =   180
  458.       Width           =   375
  459.    End
  460.    Begin Label Label14 
  461.       BackColor       =   &H00C0C0C0&
  462.       Caption         =   "First:"
  463.       Height          =   255
  464.       Left            =   5280
  465.       TabIndex        =   41
  466.       Top             =   180
  467.       Width           =   495
  468.    End
  469.    Begin Label Label3 
  470.       BackColor       =   &H00C0C0C0&
  471.       Caption         =   "ID:"
  472.       Height          =   255
  473.       Left            =   2100
  474.       TabIndex        =   42
  475.       Top             =   180
  476.       Width           =   315
  477.    End
  478.    Begin Label Label5 
  479.       BackColor       =   &H00C0C0C0&
  480.       Caption         =   "Last:"
  481.       Height          =   255
  482.       Left            =   3240
  483.       TabIndex        =   43
  484.       Top             =   180
  485.       Width           =   495
  486.    End
  487.    Begin Menu mnuRecord 
  488.       Caption         =   "&Record"
  489.       Begin Menu mnuNew 
  490.          Caption         =   "&New"
  491.       End
  492.       Begin Menu mnuDelete 
  493.          Caption         =   "&Delete"
  494.       End
  495.       Begin Menu mnuSave 
  496.          Caption         =   "&Save"
  497.       End
  498.       Begin Menu mnuCancel 
  499.          Caption         =   "&Cancel"
  500.       End
  501.       Begin Menu dash 
  502.          Caption         =   "-"
  503.       End
  504.       Begin Menu mnuExit 
  505.          Caption         =   "E&xit"
  506.       End
  507.    End
  508.    Begin Menu mnuHelp 
  509.       Caption         =   "&Help"
  510.    End
  511. End
  512. Option Explicit
  513. Dim CurrRec As Integer
  514. Dim Starting As Integer
  515. Dim LastNum As Integer
  516. Dim PSort As Integer
  517.  
  518. Sub cmbSortBy_Click ()
  519.     If cmbSortBy.Text = "ID Number" Then dtaPerson.RecordSource = QPerson & "ORDER BY ID"
  520.     If cmbSortBy.Text = "Last Name" Then dtaPerson.RecordSource = QPerson & "ORDER BY LName"
  521.     If cmbSortBy.Text = "First Name" Then dtaPerson.RecordSource = QPerson & "ORDER BY FName"
  522.     If cmbSortBy.Text = "Address" Then dtaPerson.RecordSource = QPerson & "ORDER BY Address"
  523.     If cmbSortBy.Text = "City" Then dtaPerson.RecordSource = QPerson & "ORDER BY City"
  524.     If cmbSortBy.Text = "State" Then dtaPerson.RecordSource = QPerson & "ORDER BY State"
  525.     If cmbSortBy.Text = "Zip Code" Then dtaPerson.RecordSource = QPerson & "ORDER BY Zip"
  526.     If cmbSortBy.Text = "Driver's Lic" Then dtaPerson.RecordSource = QPerson & "ORDER BY DL"
  527.     If cmbSortBy.Text = "DL State" Then dtaPerson.RecordSource = QPerson & "ORDER BY DLSt"
  528.     If cmbSortBy.Text = "Date Of Birth" Then dtaPerson.RecordSource = QPerson & "ORDER BY DOB"
  529.     If cmbSortBy.Text = "Sex" Then dtaPerson.RecordSource = QPerson & "ORDER BY Sex"
  530.     If cmbSortBy.Text = "Height" Then dtaPerson.RecordSource = QPerson & "ORDER BY Feet,Inches"
  531.     If cmbSortBy.Text = "Weight" Then dtaPerson.RecordSource = QPerson & "ORDER BY Weight"
  532.     If cmbSortBy.Text = "Hair Color" Then dtaPerson.RecordSource = QPerson & "ORDER BY Hair"
  533.     If cmbSortBy.Text = "Eye Color" Then dtaPerson.RecordSource = QPerson & "ORDER BY Eyes"
  534.     dtaPerson.Refresh
  535. End Sub
  536.  
  537. Sub cmdCancel_Click ()
  538.     If LastNum <> 0 Then
  539.         dtaPerson.Recordset.FindFirst "ID = " & LastNum
  540.         Call NoChange
  541.     Else
  542.         cmdNew.Value = True
  543.     End If
  544. End Sub
  545.  
  546. Sub cmdDel_Click ()
  547.     dtaPerson.Recordset.Delete
  548.     dtaPerson.Refresh
  549.     If dtaPerson.Recordset.EOF Then cmdNew.Value = True
  550. End Sub
  551.  
  552. Sub cmdDelete_Click ()
  553.     On Error GoTo CheckRefInt
  554.     dtaPerson.Recordset.Delete
  555.     dtaPerson.Refresh
  556.     If dtaPerson.Recordset.EOF Then cmdNew.Value = True
  557.     Exit Sub
  558. CheckRefInt:
  559.     If Err = 3200 Then
  560.         MsgBox "Person has at least one ticket, cannot delete", MB_EXCL, "Warning Ticket"
  561.         Exit Sub
  562.     Else
  563.         MsgBox "Unexpected Error " & "'" & Err & "'", MB_EXCL, "Warning Ticket"
  564.         Exit Sub
  565.     End If
  566.     Resume
  567. End Sub
  568.  
  569. Sub cmdJumpTo_Click ()
  570.     CurrRec = dtaPerson.Recordset!ID
  571.     Dim Feet, Inches
  572.     If cmbSortBy.Text = "ID Number" Then dtaPerson.Recordset.FindFirst "ID >= " & txtJumpTo
  573.     If cmbSortBy.Text = "Last Name" Then dtaPerson.Recordset.FindFirst "FName >= " & "'" & txtJumpTo & "'"
  574.     If cmbSortBy.Text = "First Name" Then dtaPerson.Recordset.FindFirst "LName >= " & "'" & txtJumpTo & "'"
  575.     If cmbSortBy.Text = "Address" Then dtaPerson.Recordset.FindFirst "Address >= " & "'" & txtJumpTo & "'"
  576.     If cmbSortBy.Text = "City" Then dtaPerson.Recordset.FindFirst "City >= " & "'" & txtJumpTo & "'"
  577.     If cmbSortBy.Text = "State" Then dtaPerson.Recordset.FindFirst "State >= " & "'" & txtJumpTo & "'"
  578.     If cmbSortBy.Text = "Zip Code" Then dtaPerson.Recordset.FindFirst "Zip >= " & "'" & txtJumpTo & "'"
  579.     If cmbSortBy.Text = "Driver's Lic" Then dtaPerson.Recordset.FindFirst "DL >= " & "'" & txtJumpTo & "'"
  580.     If cmbSortBy.Text = "DL State" Then dtaPerson.Recordset.FindFirst "DLSt >= " & "'" & txtJumpTo & "'"
  581.     If cmbSortBy.Text = "Date Of Birth" Then dtaPerson.Recordset.FindFirst "DOB >= " & "#" & txtJumpTo & "#"
  582.     If cmbSortBy.Text = "Sex" Then dtaPerson.Recordset.FindFirst "Sex >= " & "'" & txtJumpTo & "'"
  583.     If cmbSortBy.Text = "Height" Then
  584.         Feet = Left(txtJumpTo, (InStr(1, txtJumpTo, " ") - 1))
  585.         Inches = Right(txtJumpTo, Len(txtJumpTo) - InStr(1, txtJumpTo, " "))
  586.         dtaPerson.Recordset.FindFirst "(Feet >= " & "'" & Feet & "') AND (Inches >= '" & Inches & "')"
  587.     End If
  588.  
  589.     If cmbSortBy.Text = "Weight" Then dtaPerson.Recordset.FindFirst "Weight >= " & "'" & txtJumpTo & "'"
  590.     If cmbSortBy.Text = "Hair Color" Then dtaPerson.Recordset.FindFirst "Hair >= " & "'" & txtJumpTo & "'"
  591.     If cmbSortBy.Text = "Eye Color" Then dtaPerson.Recordset.FindFirst "Eyes >= " & "'" & txtJumpTo & "'"
  592.     If dtaPerson.Recordset.NoMatch Then
  593.         MsgBox "No records found that match that value.", MB_EXCL, "Warning Ticket"
  594.         dtaPerson.Refresh
  595.         dtaPerson.Recordset.FindFirst "ID = " & CurrRec
  596.     End If
  597. End Sub
  598.  
  599. Sub cmdNew_Click ()
  600.     Call Editing
  601.     dtaPerson.Recordset.AddNew
  602.     txtLNameP.SetFocus
  603. End Sub
  604.  
  605. Sub cmdReturn_Click ()
  606.     Unload frmPer
  607. End Sub
  608.  
  609. Sub cmdSave_Click ()
  610.   On Error GoTo CheckLenErr
  611.   If txtLNameP <> "" And txtFNameP <> "" Then
  612.     If MsgBox("Commit Changes?", MSGBOX_TYPE) = YES Then
  613.         If dtaPerson.EditMode = EM_ADDNEW Then
  614.             dtaPerson.Recordset.Update
  615.             dtaPerson.Recordset.MoveLast
  616.             CurrRec = dtaPerson.Recordset!ID
  617.             dtaPerson.Refresh
  618.             dtaPerson.Recordset.FindFirst "ID = " & CurrRec
  619.         Else
  620.             dtaPerson.Recordset.Update
  621.             CurrRec = dtaPerson.Recordset!ID
  622.             dtaPerson.Refresh
  623.             dtaPerson.Recordset.FindFirst "ID =" & CurrRec
  624.         End If
  625.         Call NoChange
  626.     End If
  627.   Else
  628.     MsgBox "Must have first and last name to save", MB_EXCL, "Warning Ticket"
  629.   End If
  630.   Exit Sub
  631. CheckLenErr:
  632.     Select Case Err
  633.         Case 3163
  634.             MsgBox "A value is too long, fix or cancel save", MB_EXCL, "Warning Ticket"
  635.             Exit Sub
  636.         Case 3164
  637.             MsgBox "This record has been deleted by another user", MB_EXCL, "Warning Ticket"
  638.             dtaPerson.Refresh
  639.             If dtaPerson.Recordset.EOF Then
  640.                 MsgBox "There are no persons entered, you may add one now.", MB_EXCL, "Warning Ticket"
  641.                 cmdNew.Value = True
  642.             Else
  643.                 Call NoChange
  644.             End If
  645.             Exit Sub
  646.         Case Else
  647.             MsgBox "Unexpected Error " & Str(Err) & " " & Error, MB_EXCL, "Warning Ticket"
  648.             Exit Sub
  649.     End Select
  650.     Resume
  651. End Sub
  652.  
  653. Sub dtaPerson_Reposition ()
  654.     If (Not Starting) And (dtaPerson.EditMode <> EM_ADDNEW) Then
  655.         If Not dtaPerson.Recordset.EOF Then
  656.             LastNum = dtaPerson.Recordset!ID
  657.         Else
  658.             LastNum = 0
  659.         End If
  660.     End If
  661. End Sub
  662.  
  663. Sub dtaPerson_Validate (Action As Integer, Save As Integer)
  664.     Select Case Action
  665.         Case 1 ' First
  666.         Case 2 ' Previous
  667.         Case 3 ' Next
  668.         Case 4 ' Last
  669.         Case 5 ' AddNew
  670.         Save = False
  671.         Case 6 ' Update
  672.         Case 7 ' Delete
  673.         If MsgBox("Delete Record?", MSGBOX_TYPE) <> YES Then Action = 0
  674.         Case 8 ' Find
  675.         Save = False
  676.         Case 9 ' Set Bookmark
  677.         Case 10 ' Close
  678.         Case 11 ' Unload Form
  679.         If (dtaPerson.Enabled = False) Then
  680.             If MsgBox("Commit Changes?", MSGBOX_TYPE) = YES Then
  681.                 If Not (txtLNameP <> "" And txtFNameP <> "") Then
  682.                     MsgBox "Must have first and last name to save", MB_EXCL, "Warning Ticket"
  683.                     Action = 0
  684.                 End If
  685.             Else
  686.                 Save = False
  687.             End If
  688.         End If
  689.     End Select
  690. End Sub
  691.  
  692. Sub Editing ()
  693.     If dtaPerson.Enabled = True Then
  694.         dtaPerson.Enabled = False
  695.         mnuSave.Enabled = True
  696.         mnuCancel.Enabled = True
  697.         mnuNew.Enabled = False
  698.         mnuDelete.Enabled = False
  699.         cmbSortBy.Enabled = False
  700.         cmdJumpTo.Enabled = False
  701.         cmdSave.Enabled = True
  702.         cmdCancel.Enabled = True
  703.         cmdNew.Enabled = False
  704.         cmdDelete.Enabled = False
  705.         lblSortBy.ForeColor = &H808080
  706.     End If
  707. End Sub
  708.  
  709. Sub Form_Activate ()
  710.     If Starting Then
  711.         Call RedoCombo
  712.         Starting = False
  713.         dtaPerson.RecordSource = QPerson & " ORDER BY Person.ID"
  714.         PSort = 1
  715.         dtaPerson.Caption = "Persons by ID"
  716.         cmbSortBy.Text = "ID Number"
  717.         dtaPerson.Refresh
  718.         If dtaPerson.Recordset.EOF Then
  719.             cmdNew.Value = True
  720.         Else
  721.             Call NoChange
  722.         End If
  723.     End If
  724. End Sub
  725.  
  726. Sub Form_Load ()
  727.     NL = (Chr(13) + Chr(10))
  728.     Starting = True
  729. End Sub
  730.  
  731. Sub mnuCancel_Click ()
  732.     cmdCancel.Value = True
  733. End Sub
  734.  
  735. Sub mnuDelete_Click ()
  736.     cmdDelete.Value = True
  737. End Sub
  738.  
  739. Sub mnuExit_Click ()
  740.     Unload frmPer
  741. End Sub
  742.  
  743. Sub mnuNew_Click ()
  744.     cmdNew.Value = True
  745. End Sub
  746.  
  747. Sub mnuSave_Click ()
  748.     cmdSave.Value = True
  749. End Sub
  750.  
  751. Sub NoChange ()
  752.         lblSortBy.ForeColor = &H80000008
  753.         dtaPerson.Enabled = True
  754.         mnuSave.Enabled = False
  755.         mnuCancel.Enabled = False
  756.         mnuNew.Enabled = True
  757.         mnuDelete.Enabled = True
  758.         cmbSortBy.Enabled = True
  759.         cmdJumpTo.Enabled = True
  760.         cmdSave.Enabled = False
  761.         cmdCancel.Enabled = False
  762.         cmdNew.Enabled = True
  763.         cmdDelete.Enabled = True
  764. End Sub
  765.  
  766. Sub RedoCombo ()
  767.     cmbSortBy.AddItem "ID Number"
  768.     cmbSortBy.AddItem "Last Name"
  769.     cmbSortBy.AddItem "First Name"
  770.     cmbSortBy.AddItem "Address"
  771.     cmbSortBy.AddItem "City"
  772.     cmbSortBy.AddItem "State"
  773.     cmbSortBy.AddItem "Zip Code"
  774.     cmbSortBy.AddItem "Driver's Lic"
  775.     cmbSortBy.AddItem "DL State"
  776.     cmbSortBy.AddItem "Date Of Birth"
  777.     cmbSortBy.AddItem "Sex"
  778.     cmbSortBy.AddItem "Height"
  779.     cmbSortBy.AddItem "Weight"
  780.     cmbSortBy.AddItem "Hair Color"
  781.     cmbSortBy.AddItem "Eye Color"
  782. End Sub
  783.  
  784. Sub txtAddressP_KeyPress (KeyAscii As Integer)
  785.     Call Editing
  786. End Sub
  787.  
  788. Sub txtCityP_KeyPress (KeyAscii As Integer)
  789.     Call Editing
  790. End Sub
  791.  
  792. Sub txtDLP_KeyPress (KeyAscii As Integer)
  793.     Call Editing
  794. End Sub
  795.  
  796. Sub txtDLStP_KeyPress (KeyAscii As Integer)
  797.     If (KeyAscii >= Asc("a")) And (KeyAscii <= Asc("z")) Then KeyAscii = KeyAscii - 32
  798.     Call Editing
  799. End Sub
  800.  
  801. Sub txtDLTypeP_KeyPress (KeyAscii As Integer)
  802.     If (KeyAscii >= Asc("a")) And (KeyAscii <= Asc("z")) Then KeyAscii = KeyAscii - 32
  803.     Call Editing
  804. End Sub
  805.  
  806. Sub txtDOBP_KeyPress (KeyAscii As Integer)
  807.     Call Editing
  808. End Sub
  809.  
  810. Sub txtDOBP_LostFocus ()
  811.     If (Not IsDate(txtDOBP.Text)) And (txtDOBP <> "") Then
  812.         MsgBox ("Enter a valid date"), MB_EXCL, "Warning Ticket"
  813.         txtDOBP.SetFocus
  814.     End If
  815. End Sub
  816.  
  817. Sub txtEyesP_KeyPress (KeyAscii As Integer)
  818.     Call Editing
  819. End Sub
  820.  
  821. Sub txtFeetP_KeyPress (KeyAscii As Integer)
  822.     Call Editing
  823. End Sub
  824.  
  825. Sub txtFNameP_KeyPress (KeyAscii As Integer)
  826.     Call Editing
  827. End Sub
  828.  
  829. Sub txtHairP_KeyPress (KeyAscii As Integer)
  830.     Call Editing
  831. End Sub
  832.  
  833. Sub txtIDP_KeyPress (KeyAscii As Integer)
  834.     Call Editing
  835. End Sub
  836.  
  837. Sub txtInchesP_KeyPress (KeyAscii As Integer)
  838.     Call Editing
  839. End Sub
  840.  
  841. Sub txtInitialP_KeyPress (KeyAscii As Integer)
  842.     Call Editing
  843. End Sub
  844.  
  845. Sub txtLNameP_KeyPress (KeyAscii As Integer)
  846.     Call Editing
  847. End Sub
  848.  
  849. Sub txtSexP_KeyPress (KeyAscii As Integer)
  850.     If (KeyAscii >= Asc("a")) And (KeyAscii <= Asc("z")) Then KeyAscii = KeyAscii - 32
  851.     Call Editing
  852. End Sub
  853.  
  854. Sub txtStateP_KeyPress (KeyAscii As Integer)
  855.     If (KeyAscii >= Asc("a")) And (KeyAscii <= Asc("z")) Then KeyAscii = KeyAscii - 32
  856.     Call Editing
  857. End Sub
  858.  
  859. Sub txtWeightP_KeyPress (KeyAscii As Integer)
  860.     Call Editing
  861. End Sub
  862.  
  863. Sub txtZipP_KeyPress (KeyAscii As Integer)
  864.     Call Editing
  865. End Sub
  866.  
  867.